Proliferation of computer networks along with wide spread use of personal computers has facilitated the emergence of numerous applications and services utilizing these data networks, such as the Internet. Often these applications and services must exchange data over the network. Typically, these data exchanges take place between a server and a client. A server is a computer or device on a network that manages network resources or that provides data, services and functionality to multiple users. For example, a server may run a web-server interface for sending data, for example, web pages to a plurality of users and for receiving requests for data over the network. Web-server equipped devices are often referred to as web sites and are accessed using a universal resource locator (URL) sent from a client. Since servers must handle a plurality of tasks simultaneously, they are often expensive and complex. In contrast, a client device, or client, is a computer or device on the network that is used to access a server. Typically, a client is used by a user, or customer, and is comprised of a personal computer, therefore, it does not have to run several tasks or serve multiple users simultaneously.
In many Internet applications, servers send data to clients for display to a user. At the client, received data is displayed to the user using a browser and a display device such as a monitor. A browser is a software program executing on a client device for processing and displaying information received from web sites. Browsers have processing power that is under utilized in many prior art client-server Internet transactions. Browser processing is under utilized because servers incur the processing load for creating, rendering and controlling content displayed on clients. This requires that servers run applications such as Java server pages (JSP) or Java server faces (JSF) in order to render data on client browsers via static pages, i.e. pages that do not change and that do not require client side processing. Executing applications, such as JSP and JSF, make server side programming complex because not all client computers are of the same type or operating system. This raises the cost associated with operating servers on the Internet or other networks.
There exists a need for a method on the client-side for creating and rendering network content utilizing the processing capabilities of the browser, thus reducing the complexity of software executable instructions on servers. Furthermore, there is a need for allowing the use of active hypertext markup language (HTML) pages without placing an undue burden on the server.